Public-safe on-demand Simulator lifecycle - #1
Conversation
Why: Simulator capacity should remain registered while low-concurrency work deterministically reuses warm aliases and safely shuts unused automated simulators down under explicit local policy. Changed: Added pin/warm/shutdown selection, boot-on-acquire, idle policy and reconciliation, confirmed cleanup, CLI/service scheduling, public-surface scanning, tests, and aligned public specifications. Verification: The full product suite and both required harness profiles passed on the complete feature tree before this manifest-aligned commit split. Affected: broker-core, client, public documentation, and specifications. Refs: spec/tasks/public-safe-on-demand-simulator-lifecycle.md Session: task-sessions/20260810-public-safe-idle-broker
Why: Give operators an explicit, broker-backed way to configure and run safe idle cleanup without writing host state from the app. Changed: Add the Overview automatic-shutdown section, count-only cleanup confirmation, broker command integration, snapshot refresh behavior, temporary-root app tests, and distribution-time public-surface verification. Verification: npm test; scripts/test_app.sh Affected: app/**, scripts/package_distribution.sh, scripts/test_app.sh Refs: spec/tasks/public-safe-on-demand-simulator-lifecycle.md Session: task-sessions/20260810-public-safe-idle-app
Why: Prevent machine-local identities, paths, and operator artifacts from entering tracked public text. Changed: Run the public-surface scanner from the normal test gate and expose a dedicated verification command. Verification: npm test; npm run verify:public-surface Affected: package.json Refs: spec/tasks/public-safe-on-demand-simulator-lifecycle.md Session: task-sessions/20260810-public-safe-idle-gate
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5ff7e6450c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied safe fixes for all 4 active PR feedback items. Verification passed: `npm run test:broker-core`, `npm run test:client`, `bash scripts/test_app.sh --only-testing SimulatorBrokerAppTests/BrokerDashboardStoreTests/testSnapshotDecodesMissingIdleAsUnconfiguredDefault`, `npm run verify:public-surface`, and `git diff --check`. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session] Affected: - .gitignore - README.md - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/task-session] - report: [controller artifact: jobs/pr-1/20260810-023703-55123191-5916-4a75-9d90-3abbda7c4268/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3065c9e6e1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied narrowly scoped fixes for all three active review items. Focused verification passed: node --test --test-name-pattern "idle cleanup" broker-core/test/broker-core.test.mjs; node --test --test-name-pattern "idle mutations surface final snapshot refresh failures" client/test/simbroker.test.mjs; node --test client/test/public-surface.test.mjs; npm run verify:public-surface; git diff --check. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session] Affected: - .gitignore - README.md - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/task-session] - report: [controller artifact: jobs/pr-1/20260810-025809-ae1ef991-8a63-47ec-be58-6fb8ef18b0d4/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a4bb425b47
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Repaired the implementation-profile verification failure by increasing the timeout for the harness doctor-output regression that exceeded Vitest's 5s default under full verification load. Additional checks passed: `npm --prefix agent-harness run build`, `npm --prefix agent-harness test`, and `npm run verify:public-surface`. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session] Affected: - .gitignore - README.md - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (comment) - #1 (comment) - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/task-session] - report: [controller artifact: jobs/pr-1/20260810-032447-92125911-ed1c-44b9-a0b2-447985ce0fe4/report.md]
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 451d83321c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Implemented all four active review fixes. Verification passed: `npm run verify:public-surface`, `node --test client/test/public-surface.test.mjs`, `node --test client/test/simbroker.test.mjs`, and focused app tests via `bash ./scripts/test_app.sh --only-testing SimulatorBrokerAppTests/BrokerServiceClientTests/testCommandTransferTimeoutsCoverBrokerLockBudgets --only-testing SimulatorBrokerAppTests/BrokerLocalCommandClientTests/testProcessRunnerUsesCommandSpecificTimeoutBudgets`. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session] Affected: - .gitignore - README.md - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/task-session] - report: [controller artifact: jobs/pr-1/20260811-112726-8751734a-d4b6-4d74-9657-7ff72e97b871/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0d0126f99c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied fixes for all five active review items. Focused checks passed: node broker-core idle-policy tests, node client malformed-policy/scheduler timer timeout tests, npm run verify:public-surface, and focused macOS BrokerServiceClient timeout-budget XCTest. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session] Affected: - .gitignore - README.md - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (comment) - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/task-session] - report: [controller artifact: jobs/pr-1/20260811-115213-c6bd2e3e-5da7-4b2a-9b0d-930fe264ff05/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 096d0f352a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Repaired the controller implementation-profile failure by giving the two intentionally oversized detached-result Vitest cases a 15s per-test timeout. Verification passed: npm --prefix agent-harness run build; npm --prefix agent-harness test -- --run tests/detached-rollout.test.ts -t 'result-read limit'; npm --prefix agent-harness test; npm run verify:public-surface. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/task-session] - report: [controller artifact: jobs/pr-1/20260811-121904-bd979424-251e-4866-8a03-8168be94b27d/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e5f66516c8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied four focused fixes. Verification run: `node --test client/test/public-surface.test.mjs` passed; `node --test --test-name-pattern "idle policy removal errors|stale lease recovery timestamps|stale lease recovery starts" broker-core/test/broker-core.test.mjs` passed; `node --test --test-name-pattern "policy-enabled lease acquisition lazily starts brokerd" client/test/brokerd.test.mjs` passed; `npm run verify:public-surface` passed; `git diff --check` passed. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/task-session] - report: [controller artifact: jobs/pr-1/20260811-124500-4e015da2-3562-4a12-a1f3-63017710388b/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 70e1f1fd1f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Repaired the implementation verification failure by giving the detached watchdog test enough runtime margin under loaded verifier runs, while preserving its behavior assertions. Verification run locally: `npm test` passed, `npm --prefix agent-harness test` passed, `npm run test:client` passed, focused watchdog test passed, and `git diff --check` passed. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/task-session] - report: [controller artifact: jobs/pr-1/20260811-130942-972dfb6b-a37c-40a2-8b98-df7157beacf4/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4c3ac4398b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied six focused fixes. Verification passed: `node --test client/test/public-surface.test.mjs`; targeted broker-core idle lock/status tests; `node --test client/test/simbroker.test.mjs client/test/brokerd.test.mjs`; focused app test `BrokerServiceClientTests/testIdleCleanupTimeoutBudgetFallsBackWhenHostAliasesAreAbsent`; and `npm run verify:public-surface`. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (comment) - #1 (comment) - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/task-session] - report: [controller artifact: jobs/pr-1/20260811-134405-306af8ce-9022-470d-beac-27cb669c3da8/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 20c535f857
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Implemented the one active PR feedback item. Scheduled idle reconciliation no longer reuses the nonblocking lock option for app snapshot publication, and the focused brokerd test file passed. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/task-session] - report: [controller artifact: jobs/pr-1/20260811-140507-f1973db7-3399-4718-b06c-4afa862129e9/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5dc19f556c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied three focused reliability fixes. Verification passed: `node --test --test-name-pattern "lease release timestamps release after entering the mutation lock" broker-core/test/broker-core.test.mjs`; `node --test --test-name-pattern "service startup timeout budgets stale containment from lease files" client/test/simbroker.test.mjs`; `bash scripts/test_app.sh --only-testing SimulatorBrokerAppTests/BrokerLocalCommandClientTests/testProcessRunnerUsesCommandSpecificTimeoutBudgets` with result bundle `artifacts/app-tests/focused-SimulatorBrokerAppTests-BrokerLocalCommandClientTests-testProcessRunnerUsesCommandSpecificTimeoutBudgets.xcresult`; `npm run test:client`; `npm run test:broker-core`. Worktree has only the six intended modified files and no untracked files. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/task-session] - report: [controller artifact: jobs/pr-1/20260811-142955-a9973a5f-3909-4424-9db9-9a2014e686ff/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 54bd702faa
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied focused fixes for all 4 active review items. Final verification passed: `node --test client/test/public-surface.test.mjs`, `node --test broker-core/test/broker-core.test.mjs --test-name-pattern "idle cleanup"`, `npm run test:app:focus -- SimulatorBrokerAppTests/BrokerDashboardStoreTests`, `git diff --check -- client/public-surface.mjs client/test/public-surface.test.mjs broker-core/index.mjs broker-core/test/broker-core.test.mjs app/Sources/BrokerDashboardStore.swift app/Tests/BrokerDashboardStoreTests.swift`, and `npm run verify:public-surface`. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/task-session] - report: [controller artifact: jobs/pr-1/20260811-145745-df3adf46-e545-437e-a2ac-f6e1a33cd571/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1c8ba5adfa
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
simulator-broker/client/service/brokerd.mjs
Lines 1209 to 1210 in a904bb6
When another accepted request finishes parsing after the stop response computes its drain budget but before this response callback invokes shutdown, shuttingDown is still false and that request can enqueue a worker omitted from activeCommandDrainTimeoutMilliseconds. Fresh evidence after the earlier admission fix is this callback-delayed shutdown window, which can let a destructive command start after stop was acknowledged and make the CLI time out before the unbudgeted drain completes; close command admission before sampling the budget and sending the response.
AGENTS.md reference: AGENTS.md:L7-L8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied three focused fixes and left the already-satisfied public-surface scanner item as reply_no_fix. Verification run: npm run verify:public-surface passed; npm run test:client passed; npm run test:broker-core initially exposed timestamp-test fallout, then passed after correction. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/install-distribution.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (review) Session: - task-session: [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/task-session] - report: [controller artifact: jobs/pr-1/20260813-225728-51d7c4c6-0087-43f7-aeb5-18654e86541e/report.md]
|
Addressed top-level PR review feedback in These items were posted as PR review bodies rather than unresolved review threads, so this acknowledgement is recorded on the PR timeline.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 79aa32a6c5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied all three active fixes. Verification passed: `npm run test:broker-core`, `npm run verify:public-surface`, `npm run test:client`, and `git diff --check`. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/install-distribution.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/task-session] - report: [controller artifact: jobs/pr-1/20260813-232303-46f297f4-2ece-415c-9c29-08104bae0d2d/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 467fe5c860
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied small scoped fixes for all three active review items. Focused checks passed: `node --test client/test/public-surface.test.mjs`, `node --test --test-name-pattern "brokerd waits for active command workers during shutdown|brokerd waits for active app snapshot workers during shutdown|service stop closes command admission before acknowledging shutdown|brokerd rejects late command worker admission during shutdown" client/test/brokerd.test.mjs`, `npm run verify:public-surface`, and `bash scripts/test_app.sh --only-testing SimulatorBrokerAppTests/BrokerDashboardStoreTests/testSuccessfulMutationPreservesRefreshFailure --only-testing SimulatorBrokerAppTests/BrokerDashboardStoreTests/testIdleCleanupAcceptsSuccessfulFallbackRefreshAfterCommittedCommand`. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/install-distribution.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/task-session] - report: [controller artifact: jobs/pr-1/20260813-234657-b40bcc82-b8d8-4d81-a133-f6f5b316f3fd/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5e18c390db
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied focused fixes for both active review items. Focused checks passed: node --test client/test/public-surface.test.mjs, node --test client/test/brokerd.test.mjs, node --test client/test/simbroker.test.mjs, git diff --check, and npm run verify:public-surface. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/install-distribution.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/task-session] - report: [controller artifact: jobs/pr-1/20260814-000756-10193a23-1306-40d4-9694-7f14f53ed3e9/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e0473d9cad
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied both safe fixes. Checks passed: `node --test client/test/public-surface.test.mjs client/test/install-distribution.test.mjs`, `npm run verify:public-surface`, `bash -n scripts/package_distribution.sh`, `npm run test:client`, and `git diff --check`. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/install-distribution.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/task-session] - report: [controller artifact: jobs/pr-1/20260814-003043-eef77a66-976c-41a6-adb6-2c9102155f56/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: da94ff4a2b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied all three active feedback fixes. Focused checks passed: `node --test broker-core/test/broker-core.test.mjs` and `bash scripts/test_app.sh --only-testing SimulatorBrokerAppTests/BrokerDashboardStoreTests`. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/install-distribution.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/task-session] - report: [controller artifact: jobs/pr-1/20260814-005121-bbddd2ea-e7df-4e9c-8304-0b999c47aeaa/report.md]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7de66c0763
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Why: - Resolve actionable GitHub review feedback for PR #1. Changed: - Applied both active PR feedback fixes. Verification passed: `node --test client/test/public-surface.test.mjs`, `node --test broker-core/test/broker-core.test.mjs`, and `npm run verify:public-surface`. Verification: - npm run agent:complete -- --session-dir [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session] - npm run agent:context -- --paths-file [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/actual-paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session] - npm run agent:verify -- --profile implementation --paths-file [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session/verify/implementation/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session] - npm run agent:verify -- --profile spec-only --paths-file [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session/verify/spec-only/paths.txt] --session-dir [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session] Affected: - .gitignore - README.md - agent-harness/tests/detached-rollout.test.ts - agent-harness/tests/runtime.test.ts - app/README.md - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerCommandSupport.swift - app/Sources/BrokerDashboardStore.swift - app/Sources/BrokerLocalCommandClient.swift - app/Sources/BrokerServiceClient.swift - app/Sources/BrokerSnapshotModels.swift - app/Sources/OverviewScreen.swift - app/Tests/BrokerDashboardStoreTests.swift - app/Tests/BrokerLocalCommandClientTests.swift - app/Tests/BrokerServiceClientTests.swift - app/Tests/Fixtures/busy-snapshot.json - app/project.yml - broker-core/error-contract.mjs - broker-core/index.mjs - broker-core/simctl.mjs - broker-core/test/broker-core.test.mjs - client/README.md - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/service/service-client.mjs - client/test/brokerd.test.mjs - client/test/install-distribution.test.mjs - client/test/public-surface.test.mjs - client/test/simbroker.test.mjs - examples/harness-adoption/sample-consumer-repo/scripts/with-broker-lease.sh - package.json - scripts/package_distribution.sh - scripts/test_app.sh - spec/README.md - spec/architecture.md - spec/build-and-test.md - spec/global-simulator-broker.md - spec/harness-integration.md - spec/implementation-plan.md - spec/project-structure.md - spec/tasks/README.md - spec/tasks/public-safe-on-demand-simulator-lifecycle.md Refs: - #1 - #1 (comment) - #1 (comment) Session: - task-session: [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/task-session] - report: [controller artifact: jobs/pr-1/20260814-011748-a75946d0-f805-4023-b7cd-c04c3e6c0757/report.md]
|
/open-code-review |
3 similar comments
|
/open-code-review |
|
/open-code-review |
|
/open-code-review |
|
🔍 OpenCodeReview found 50 issue(s) in this PR.
|
Why: - OpenCodeReview left 50 unresolved threads on PR #1. Several were real defects in idle cleanup, worker completion, lease selection, and public-surface scanning. Changed: - Skip zero-eligible idle cleanup confirmation and drop stale preview errors after leaving Overview. - Keep same-tier lease selection host-ordered whenever any release timestamp is missing, so mixed timestamps stay a total order. - Reject brokerd workers that exit without a result, prefer local-only-mode when policy is configured, and preserve child exit info across startup lock waits. - Enforce the documented idle grace range in the CLI, raise git scan buffers, and keep package_distribution.sh CWD stable for relative --output-dir. Verification: - npm run agent:verify -- --profile implementation --paths app/Sources/AutomaticShutdownSection.swift app/Sources/BrokerDashboardStore.swift app/Tests/BrokerDashboardStoreTests.swift broker-core/index.mjs broker-core/test/broker-core.test.mjs client/bin/simbroker.mjs client/command-dispatch.mjs client/public-surface.mjs client/service/brokerd.mjs client/test/brokerd.test.mjs client/test/simbroker.test.mjs scripts/package_distribution.sh --session-dir task-sessions/20260817-pr1-ocr-triage - passed Affected: - app/Sources/AutomaticShutdownSection.swift - app/Sources/BrokerDashboardStore.swift - app/Tests/BrokerDashboardStoreTests.swift - broker-core/index.mjs - broker-core/test/broker-core.test.mjs - client/bin/simbroker.mjs - client/command-dispatch.mjs - client/public-surface.mjs - client/service/brokerd.mjs - client/test/brokerd.test.mjs - client/test/simbroker.test.mjs - scripts/package_distribution.sh Refs: - #1 - #1 (comment) Session: - task-sessions/20260817-pr1-ocr-triage Co-authored-by: Cursor <cursoragent@cursor.com>
|
Triaged the 50 unresolved OpenCodeReview threads on this PR. Fixed (19) in Dismissed (31): naming/style nits, speculative reuse, fixture fidelity, coverage-only notes, and test-hygiene suggestions that are not product defects in this PR. Each thread has an inline reply. Verification: |
Why: - After a lease or host mutation committed, a malformed idle-policy.json made snapshot refresh fail and brokerd returned HTTP 400. The macOS app then showed failure for work that had already succeeded. Changed: - Persist an unconfigured idle summary when snapshot refresh cannot read idle policy, so the rest of the snapshot still writes. - Do not surface idle-policy snapshot refresh as a command error for non-idle, non-app service mutations. - Keep CLI lease acquire successful after commit and report invalid-config as a scheduler warning. - Idle status and reconcile still fail closed on malformed idle policy. Verification: - npm run agent:verify -- --profile implementation --paths broker-core/index.mjs broker-core/test/broker-core.test.mjs client/bin/simbroker.mjs client/service/brokerd.mjs client/test/brokerd.test.mjs client/test/simbroker.test.mjs --session-dir task-sessions/20260817-pr1-review-loop - passed Affected: - broker-core/index.mjs - broker-core/test/broker-core.test.mjs - client/bin/simbroker.mjs - client/service/brokerd.mjs - client/test/brokerd.test.mjs - client/test/simbroker.test.mjs Refs: - #1 Session: - task-sessions/20260817-pr1-review-loop Co-authored-by: Cursor <cursoragent@cursor.com>
Why: - Read-only snapshots dropped dead-owner leases but kept the previous release timestamp, so Automatic shutdown could show grace-expired eligibility before reclaim started a fresh grace period. - After a failed acquire marked an alias repair-needed, a leftover lease file with a live owner could be re-admitted on the next state load. Changed: - Restart lastLeaseReleasedAt in memory when a read-only snapshot drops an unreclaimed stale lease, without writing registry or lease files. - Reclaim leftover acquire-rollback lease files when registry health is repair-needed for boot or reset failure and no longer names that lease. - Keep a live lease that still matches the registry holder so an in-progress acquire is not stolen. Verification: - npm run agent:verify -- --profile implementation --paths broker-core/index.mjs broker-core/test/broker-core.test.mjs --session-dir task-sessions/20260817-pr1-review-loop-2 - passed Affected: - broker-core/index.mjs - broker-core/test/broker-core.test.mjs Refs: - #1 Session: - task-sessions/20260817-pr1-review-loop-2 Co-authored-by: Cursor <cursoragent@cursor.com>
Why: - Read-only snapshots treated every dead-owner lease as released, including containment-aware leases that mutating loads still keep active until containment finishes. Automatic shutdown and cleanup preview could then disagree with reconcile. Changed: - Keep containment-aware stale leases in the read-only snapshot lease map and do not restart idle grace for them. - Treat those aliases as still leased in idle cleanup preview so a live downstream process is not offered as idle. Verification: - npm run agent:verify -- --profile implementation --paths broker-core/index.mjs broker-core/test/broker-core.test.mjs --session-dir task-sessions/20260817-pr1-review-loop-3 - passed Affected: - broker-core/index.mjs - broker-core/test/broker-core.test.mjs Refs: - #1 Session: - task-sessions/20260817-pr1-review-loop-3 Co-authored-by: Cursor <cursoragent@cursor.com>
Why: - Cleanup apply loaded mutating broker state, so a containment-aware stale lease excluded from preview could still be contained as a side effect. That killed live downstream work that the operator did not confirm, then rejected the plan as stale. Changed: - Recompute confirmed idle cleanup under the mutation lock from the same read-only snapshot used by preview. - Leave stale-owner containment to reconcile and other mutating loads. - Keep post-shutdown registry persistence failures public-safe when apply no longer writes registry during state load. Verification: - npm run agent:verify -- --profile implementation --paths broker-core/index.mjs broker-core/test/broker-core.test.mjs --session-dir task-sessions/20260817-pr1-review-loop-4 - passed Affected: - broker-core/index.mjs - broker-core/test/broker-core.test.mjs Refs: - #1 Session: - task-sessions/20260817-pr1-review-loop-4 Co-authored-by: Cursor <cursoragent@cursor.com>
Why: - Confirmed cleanup planned from a read-only snapshot, then wrote that in-memory registry. Snapshot-only stale-lease grace restarts and cleared active-lease ids could land on disk while lease files remained. Changed: - After the confirmed plan matches, persist shutdown results onto a freshly loaded registry plus current simulator inventory. - Leave unreclaimed stale-lease files and their on-disk release timestamps unchanged until a mutating load reclaims them. Verification: - npm run agent:verify -- --profile implementation --paths broker-core/index.mjs broker-core/test/broker-core.test.mjs --session-dir task-sessions/20260817-pr1-review-loop-5 - passed Affected: - broker-core/index.mjs - broker-core/test/broker-core.test.mjs Refs: - #1 Session: - task-sessions/20260817-pr1-review-loop-5 Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
Verification
npm test— passed: 206 broker, 120 client/service, 24 harness-adoption, and 67 macOS app testsnpm --prefix agent-harness test— passed: 104 testsnpm run verify:public-surface— passed: 240 tracked text filesagent:completecloseout gates passedRollout
The machine-local 300-second policy and one-time cleanup are intentionally deferred until this release is available. No host aliases, simulator identifiers, local paths, operator identities, or personalized defaults are committed.